package com.cleaningcloud.cld.domain;

import java.util.Date;

import com.cleaningcloud.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.cleaningcloud.common.core.annotation.Excel;

/**
 * 人事合同对象 cld_staff_contract
 * 
 * @author cleaningcloud
 * @date 2024-10-22
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class CldStaffContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 员工合同ID */
    private Long staffContractId;

    /** 项目ID */
    @Excel(name = "项目ID")
    private Long projectId;

    /** 员工id */
    @Excel(name = "员工id")
    private Long staffId;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String staffContractNo;

    /** 合同开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 合同结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 合同附件 */
    @Excel(name = "合同附件")
    private String attachment;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String staffContratName;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private Long createId;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createName;

    /** 备注是否关闭 */
    @Excel(name = "备注是否关闭")
    private Long flag;

    /** 合同状态(1履约2到期3终止) */
    @Excel(name = "合同状态(1履约2到期3终止)")
    private Long contractStatus;

    /** 归档状态(1已归档2未归档) */
    @Excel(name = "归档状态(1已归档2未归档)")
    private Long contractFile;


    // 岗位id  分配岗位时
    private Long jobId;

    // 是否修改岗位信息  - 人员花名册 分配岗位时需修改 项目小组设置岗位时无需修改
    private boolean isEditPost;

}
